#!user/bin/env python3
# -- coding: utf-8 --
# @Createtime：2023/8/31 14:50
# @Updatetime：14:50
# @Author：Test008
# @File：2-函数参数的多种形式
# @Description：

def user_info(name, age=None, gender=None):
    print(f'姓名是：{name}, 年龄是{age}, 性别是{gender}')


# 位置参数
user_info('小米', '12', '男')
user_info('小米', '', '')

# 关键字参数 不管位置
user_info(name='小红', age='11', gender='女')
user_info(name='小红', gender='男', age='11')
user_info(gender='男', name='小K', age='11')
# 可以和位置参数混用
user_info('甜甜', gender='女', age='13')
user_info('甜甜', gender='女')


# 缺省参数
def user_info(name, age=None, gender='Man'):
    print(f'姓名是：{name}， 年龄是：{age}， 性别是：{gender}')


user_info('潇潇', 11, 'Woman')
user_info('晨晨', 10)


# 不定长参数
# 1》位置不定长参数，形式参数以元组方式存在
def user_info(name, age, *args):
    print(f'姓名为：{name}, 年龄为{age}，爱好：{args}')


user_info('洋洋', 12, '篮球', '足球', '乒乓球')
user_info('芳芳', 11, '踢毽子', '跳绳')


# 2》关键字参数不定长，形式参数以字典方式存在
def user_info(**kwargs):
    print(f'kwargs类型是：{type(kwargs)}, 内容是:{kwargs}')


user_info(name='张三', age=12, addr='河北')
